home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 January: Mac OS SDK / Dev.CD Jan 97 SDK2.toast / Development Kits (Disc 2) / OpenDoc / OpenDoc Development / Debugging Support / OpenDoc™ Source Code / UI / DspUtilM.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-08-28  |  2.1 KB  |  95 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        DspUtilM.h
  3.  
  4.     Contains:    Dispatcher utilities.
  5.  
  6.     Owned by:    Richard Rodseth
  7.  
  8.     Copyright:    © 1995 - 1996 by Apple Computer, Inc., all rights reserved.
  9.  
  10.     Change History (most recent first):
  11.  
  12.          <2>     6/12/96    eeh        1316602: add modifiers param to SetEvent
  13.          <4>     8/29/95    RR        #1267251 Utilites for synthsized activate
  14.                                     events
  15.          <3>     5/25/95    jpa        Fixed usage of ODDebug. [1253321]
  16.          <2>     5/10/95    RR        # 1239139 Added LogEvent, and
  17.                                     GetActiveFacetWithBorderUnderPoint
  18.  
  19.     To Do:
  20.     In Progress:
  21. */
  22.  
  23. #ifndef _DSPUTILM_
  24. #define _DSPUTILM_
  25.  
  26. #ifndef _ODTYPES_
  27. #include "ODTypes.h"
  28. #endif
  29.  
  30. const kODGeneratedActivate = 0x0002;
  31.  
  32. class ODFacet;
  33. class ODFrame;
  34. class ODWindow;
  35.  
  36. void WindowToLocal(Environment* ev, ODPoint& point, ODFacet* facet);
  37.  
  38. ODFacet* GetActiveFacetWithBorderUnderPoint(Environment* ev, ODFrame* frame, ODWindow* window, ODPoint& windowPoint);
  39.  
  40. inline long Min(long a, long b)
  41. {
  42.     return a < b ? a : b;
  43. }
  44.  
  45. #if 0    /* not used */
  46. inline void SetEvent(ODEventData& event, short what)
  47. {
  48.     event.what = what;
  49.     event.message = 0;
  50.     event.when = 0;
  51.     event.where.h = 0; event.where.v = 0;
  52.     event.modifiers = 0;
  53. }
  54. #endif
  55.  
  56. inline void SetEvent(ODEventData& event, short what, Point globalWhere,
  57.         ODSShort modifiers)
  58. {
  59.     event.what = what;
  60.     event.message = 0;
  61.     event.when = 0;
  62.     event.where.h = globalWhere.h; event.where.v = globalWhere.v;
  63.     event.modifiers = modifiers;
  64. }
  65.  
  66. inline void SetActivateEvent(ODEventData& event, WindowPtr window, ODBoolean activate)
  67. {    
  68.     event.what = activateEvt;
  69.     event.message = (long) window;
  70.     event.when = 0;
  71.     event.where.h = 0; event.where.v = 0;
  72.     if (activate)
  73.         event.modifiers = 1 | kODGeneratedActivate; 
  74.     else
  75.         event.modifiers = 0 | kODGeneratedActivate; 
  76. }
  77.  
  78. inline ODBoolean IsODActivateEvent(ODEventData& event)
  79. {    
  80.     return (event.modifiers & kODGeneratedActivate);
  81. }
  82.  
  83. inline void SetEventInfo(ODEventInfo& info, ODPoint where)
  84. {
  85.     info.embeddedFrame = kODNULL;
  86.     info.embeddedFacet = kODNULL;
  87.     info.where = where;
  88.     info.propagated = kODFalse;
  89. }
  90.  
  91. #if ODDebug
  92. void LogEvent(ODEventData* event, ODEventInfo* eventInfo, ODFrame* frame, ODFacet* facet);
  93. #endif
  94.  
  95. #endif // _DSPUTILM_